Conventionally, data is sequentially recorded in an optical storage system and it is a one-dimension recording system. For increasing the recording capacity or the recording density, the optical storage system uses the optical pickup head having a light source with shorter wavelength and a lens with higher numerical aperture (NA). For example, the blue-ray optical disc system, introduced by SONY, adopts the blue-ray laser beams in the optical disc system, where the blue-ray laser beam has a relatively shorter wavelength than the laser beam of the conventional DVD pickup head. Moreover, the blue-ray optical disc system also adopts a lens having a higher numerical aperture (NA). However, the optical storage system cannot infinitely increase the recording capacity or the recording density through employing light sourced having a shorter wavelength due to a physical limit. Those light beams, having a wavelength shorter than a blue ray, cannot pass through a protecting layer of an optical disc. Moreover, the increasing of the numerical aperture (NA) is also almost approaching the limit of the capability of industry.
The hologram storage system, a new generation optical storage system, has a much higher recording density and transmitting speed than the blue-ray disc. The main reason of the hologram storage system having a higher recording capacity and a higher transmitting speed is: the hologram storage system adopts the 3-dimension optical mode for recording data, and also adopts 2-dimension optical mode for accessing data. Therefore, the efficiency of the data recording and data accessing is much better than the optical storage system in present.
FIG. 1A is a schematic diagram showing a configuration of the hologram storage system used for recording data, wherein the components depicted in dotted lines are not essential when the hologram storage system is used for recording data. Firstly, a light beam having a high spatial and temporal coherence is emitted from a high-power light source 101. The light beam is reflected to another direction after the light beam is emitted to a reflecting component 102, where the reflected light beam is vertical to the incoming light beam in this example. After the light beam is passed through a small hole of a shutter 103, the light beam can serve as an ideal point light source due to a large quantity of the incoming light beam is filtered by the small hole of the shutter 103. The dot-light source is converted to a parallel light beam after the dot-light source is passed a lens 104. The parallel light beam is further divided to two light beams by a splitter 105, where one light beam is called a signal beam 106 due to the storing data will be contained in the signal beam 106, and the other light beam is called a reference beam 107. The signal beam 106 is encoded by a spatial light modulator 108 which serves to convert the digital bit 0 and bit 1 to light pixel and dark pixel, respectively, and these light or dark pixels are arranged to an array format or a page format, where a page is a minimum accessing unit in the hologram storage system. The signal beam 106 is further emitted to and focused on a holographic storage medium 112 via a reflecting component 109 and a lens 111; and the reference beam 107 is also further emitted to and focused on a same spot of the holographic storage medium 112 via a reflecting component 110. An interference pattern (or grating) containing the storing data is generated on the holographic storage medium 112 when the signal beam 106 and the reference beam 107 are simultaneously focused on the same spot of the holographic storage medium 112. Accordingly, the recording processes in the hologram storage system are complete after the interference pattern is recorded.
FIG. 1B is a schematic diagram showing a configuration of the hologram storage system used for reading data, where the components depicted in dotted lines are not essential when the hologram storage system is used for reading data. Firstly, only the reference beam 107 is used to focus on the interference pattern, which is already recorded on the holographic storage medium 112. The interference pattern is then contained in the reference beam 107, and converted to page-format or array-format data after the reference beam 107 is detected by a detecting component 114 via a lens 113.
Same as other in-present optical storage systems, the magnitude variation of signals may decrease the decoding performance in the hologram storage system. In other words, encoder designers prefer to make the amount of the bit 1 as close as possible to the amount of the bit 0 when designing the channel encoding. Through the feature of designing, the DC (direct current) or the low-frequency component in the electric signal will reduce to zero (or a relatively small value).
For approaching the DC or low-frequency component in an electric signal to zero, the U.S. Pat. No. 6,016,330 discloses an encoding method of generating balanced codes. Through the encoding method, the encoded data contains exactly the same amount of bit 1 and bit 0, that is, the amount of the bright pixels and the dark pixels is also exactly the same after the data is encoded by the spatial light modulator. If the light pixel refers to signal level 1 and the dark pixel refers to signal level −1, the average of the signal level of all pixels in the encoded data is much closed to zero. The encoded data can be decoded through the threshold of the light and dark pixel with employing the Viterbi algorithm.
Following is the detail description of the first prior-art encoding method of generating balanced codes (U.S. Pat. No. 6,016,330). The 8-bit input codeword inputted to the encoder is defined as B0B1B2B3B4B5B6B7, and the 12-bit output codeword derived from the encoder is defined as b0b1b2b3b4b5b6b7b8b9b10b11, where the output codewords are balanced codes. There are 924 legal output codewords if the 12-bit output codeword is restrict to be constituted by six 1's (bit 1) and six 0's (bit 0). The 924 legal codewords are further divided to eight subsets (S1˜S8), and each subset contains 64 unique codewords. Among the 64 codewords, each codeword has at least 4 bits different with the rest codewords, in other words, the minimum Hamming distance in each subset of codewords is 4. Additionally, the subset Si satisfies the following equation:(b1+2*b2+3*b3+4*b4+5*b5+6*b6+7*b7+8*b8+9*b9+10*b10+11*b11−i)mod 12=0
FIG. 2 is a block diagram showing a finite-state encoder in the first prior art. Firstly, the 8-bit input codeword 303 is inputted to the encoding circuit 301, and the encoding circuit 301 then determines a present state according to the input codeword 303. The encoding circuit 301 generates a 12-bit legal output codeword 304 according to the input codeword 303, the present state, and a previous state. The legal output codeword 304 is derived from the encoding circuit 301 and the present state is inputted to and stored in the state register 302. The data stored in the state register 302 is referred to the previous state when another input codeword 303 is inputted to the encoding circuit 301. Moreover, there is a look-up table stored in the encoding circuit 301, and with a reference of the look-up table, the encoding circuit 303 can select and output a 12-bit legal output codeword 304 according to the input codeword 303, the present state, and the previous state.
The reason for adopting the finite-state encoder in the first prior art is that the best performance of the maximum-likelihood decoding can be achieved while employing the Viterbi algorithm.
In the first prior-art encoder, the first two bits B0B1 serves to indicate the four present states: a(00), b(01), c(10), and d(11), accordingly there are four present states and four previous states in the encoder. The last six bits B2B3B4B5B6B7 of the 8-bit input codeword serves as an index for indicating a specific legal output codeword in corresponding subsets. For example, if an initial state is a(00) and the first two bits of the 8-bit input codeword is 00, the subset S1 is selected with a reference of the state-to-subset look-up Table 1 due to the initial state a(00) is referred to the previous state and the first two bits of the 8-bit input codeword is referred to the present state a(00). There are 64 legal codewords in the subset S1, and each codeword is with a unique 6-bit index. In this example, the eighth codeword in the subset S1 is selected and will be derived from the encoding circuit 301 if the last six bits of the input codeword is 001000.
TABLE 1Present StatesPrior Statesa(00)b(01)c(10)d(11)a(00)S1S2S3S4b(01)S5S6S7S8c(10)S2S1S4S3d(11)S6S5S8S7
Instead of requiring the amount of 1's and 0's is exactly the same in the balanced code which is employed in the first prior art, the second prior-art encoder (JJAP, Vol 401(2002) pp1763˜1766) adopts a constant encoding ratio which is also called pseudo balanced code (or constant weighted code). For example, an encoding ratio 9/12 refers to the input codeword is 9-bit data which is defined as B0B1B2B3B4B5B6B7B8 and the output codeword is 12-bit data which is defined as b0b1b2b3b4b5b6b7b8b9b10b11. Moreover, not requiring each legal codeword is restrict to be constituted by six 0's and six 1's, the legal output codeword is flexibly constituted by five 0's and seven 1's, or seven 0's and five 1's in the pseudo balanced code of the second prior art. Accordingly, there are 1584 legal codewords within the 12-bit codewords.
The 1584 legal output codewords are divided to 16 subsets (S0˜S15), and the subset Si satisfies the following equation:(b1+2*b2+3*b3+4*b4+5*b5+6*b6+7*b7+8*b8+9*b9+10*b10+11*b11−i)mod12=0
Obviously, subsets S8˜S15 can be obtained from the subsets S0˜S7 via exchanging 0's to 1's and 1's to 0's in the subsets S0˜S7. As shown in Table 2, the first 3 bits B0B1B2 of the input codeword serves to indicates the eight present states: a(000), b(001), c(010), d(011), e(100), f(101), g(110), and h(111); accordingly, there are eight present states and eight previous states in the encoder. The last six bits B3B4B5B6B7B8 of the input codeword serves as an index for indicating a specific legal output codeword in a corresponding subset.
TABLE 2PreviousPresent statesStatesa(000)b(001)c(010)d(011)e(100)f(101)g(110)h(111)a(000)S0S1S2S3S4S5S6S7b(001)S8S9S10S11S12S13S14S15c(010)S1S0S3S2S5S4S7S6d(011)S9S8S11S10S13S12S15S14e(100)S2S3S0S1S6S7S4S5f(101)S10S11S8S9S14S15S12S13g(110)S3S2S1S0S7S6S5S4h(111)S11S10S9S8S15S14S13S12
Compared with the first prior-art encoding method (U.S. Pat. No. 6,016,330) for generating the balanced codes, obviously, the second prior-art encoding method (JJAP, Vol 401(2002) pp 1763˜1766) for generating the pseudo balanced code has more flexibility. In the first prior-art encoding method, the amount of 1's and 0's in each legal output codeword is restrict to the same. In the second prior-art encoder, the amount of 1's and 0's in each legal output codeword is only restrict to a specific ratio, but the amount of 1's and 0's in a plurality of output codewords is still restrict to the same. The decoding rate of the input/output codewords has a better performance in the second prior-art encoder, which employs the pseudo balanced code; accordingly, the recording density, or the recording capacity is also increased.
The present invention discloses an encoder having a better performance than the first prior-art and the second prior-art encoder under a same restriction (output codeword is restricted to a balanced code or a pseudo balanced code).